home *** CD-ROM | disk | FTP | other *** search
Wrap
Text File | 1994-01-06 | 71.3 KB | 1,789 lines
NOVELL TECHNICAL INFORMATION DOCUMENT DOCUMENT PROCESSING INFO: NOVLIB LIB7 TITLE: NetWare Btrieve NLM v6.10c DOCUMENT ID: TID000059 DOCUMENT REVISION: C DATE: 5JAN94 AUTHOR: MGAINES ALERT STATUS: Yellow DISTRIBUTION: Public INFORMATION TYPE: Issue README FOR: BTR61.EXE NOVELL PRODUCT CLASS: Database Products NOVELL PRODUCT and VERSION: NetWare Btrieve NLM 6.10 CATEGORY: NA ABSTRACT: BTR61.EXE contains NetWare Btrieve version 6.10c. It also provides installation and upgrade information and descriptions of the NetWare Btrieve v6.10c program files. The components that have changed in this release since the original release of version 6.10c are BREQUEST.EXE, PBTRVRES.DLL, and CLIB.NLM. ================================================================================ Disclaimer and Copyright ======================== Novell(R), Inc. makes no representations or warranties with respect to the contents or use of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. Further, Novell, Inc. reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. Copyright (c) 1993 Novell, Inc. All rights reserved. ============================================================================== NOTE ==== All the files included in this upgrade package are exactly the same as those released with the previous upgrade of NetWare Btrieve v6.10c, with the exception of the DOS Requester file, BREQUEST.EXE (and its associated message file, BREQUEST.MSG), the OS/2 resource file, PBTRVRES.DLL, and the versions of CLIB. BREQUEST.EXE has been updated to v6.10e, as discussed in the third requester entry in the section "Code Changes in NetWare Btrieve v6.10c" (approximately line 1250). The OS/2 resource file (PBTRVRES.DLL) has also been updated, as have the version of CLIB that run under the NetWare 3 and NetWare 4 operating systems. ============================================================================== Contents ======== NetWare Btrieve v6.1 in the NetWare Environment Before You Begin Installation Procedure NetWare Btrieve v6.1 Upgrade Information NetWare Btrieve v6.1 File Recovery NetWare Btrieve v6.1 File Format NetWare Btrieve v6.1 Record Locking NetWare Btrieve v6.1 Operations NetWare Btrieve v6.1 Utilities NetWare Btrieve v6.1 Requesters NetWare Btrieve v6.1 Communications Programs NetWare Btrieve v6.1 Status Codes NetWare Btrieve v6.1 Program Files Components of NetWare Btrieve v6.1 NetWare Btrieve v6.10c Upgrade Files Code Changes in NetWare Btrieve v6.10c NetWare Btrieve Documentation Documentation Updates, September 1993 Printing NetWare Btrieve Documentation Associated Documents Novell Fulfillment =============================================================================== NetWare Btrieve v6.1 in the NetWare Environment =============================================== The NetWare 3 (v3.11 and v3.12) and NetWare 4 (v4.0 and v4.01) operating systems provide a nonpreemptive, multitasking environment. NetWare Loadable Modules (NLMs) reside in server memory with the NetWare operating system. IMPORTANT: In a NetWare 4 environment, NetWare Btrieve v6.1 runs at the highest privilege level (domain 0), with direct access to the NetWare operating system. You cannot run NetWare Btrieve v6.1 in protected mode (domain 1, 2, or 3). You can run NetWare Btrieve v6.1 in a NetWare 3 (v3.11 and v3.12) or a NetWare 4 (v4.0 and v4.01) environment. The list of NetWare products with which you can run NetWare Btrieve v6.1 will be updated as the products become available and are tested. =============================================================================== Before You Begin ================ Before you proceed with the installation procedure in the next section, perform these preliminary steps: 1. If you have an earlier version of NetWare Btrieve loaded on your system, unload it before you install NetWare Btrieve v6.10c. 2. If you have an earlier version of CLIB.NLM loaded on your system, unload it before you load the new version of CLIB.NLM. 3. If you have a later (more recent) version of CLIB.NLM on your system, use that version rather than installing the version that comes with this release of Btrieve. =============================================================================== Installation Procedure ====================== To upgrade your existing NetWare Btrieve program files in a NetWare 3 (v3.11 or v3.12) or NetWare 4 (v4.0 or v4.01) environment, follow the installation procedure outlined in the following table. An "X" in either of the first two columns indicates that the step applies to that NetWare environment. NOTE: The following installation procedure replaces the NetWare INSTALL procedure documented in Chapter 3 in the "Btrieve Installation and Operation" manual. Upon completion of this installation procedure, refer to "Configuring Btrieve" in Chapter 3 in the "Btrieve Installation and Operation" manual. NetWare 3 NetWare 4 (3.11/3.12) (4.0/4.01) Installation Procedure ----------- ---------- ---------------------- From the NetWare Btrieve v6.10c Upgrade source media: X 1. Copy the AFTER311.NLM, CLIB.NLM, and NWSNUT.NLM files in the \NW3 directory to the \SYSTEM directory on the NetWare server. X 2. Copy the CLIB.NLM files in the \NW4 directory to the \SYSTEM directory on the NetWare server. X X 3. Copy all the .NLM files and corresponding .HLP files in the \SYSTEM directory to the \SYSTEM directory (or to the appropriate subdirectory for your configuration) on the NetWare server. X X 4. Copy the BSTART.NCF and BSTOP.NCF files in the \SYSTEM directory to the \SYSTEM directory (or to the appropriate subdirectory for your configuration) on the NetWare server. X X 5. Copy all the program files in the \PUBLIC directory to the \PUBLIC directory (or to the appropriate subdirectory for your configuration) on the NetWare server. X NOTE: Copy the NWLOCALE.DLL file in the \PUBLIC\OS2 or \PUBLIC\WIN directory to the appropriate subdirectory on the NetWare server or on the hard drive of the client workstation. NetWare v3.12 and v4.x includes these files, so you do not need to copy them. X 6. Copy the .MSG files in the \SYSTEM and \PUBLIC directories to the appropriate language subdirectory in \SYSTEM\NLS on the NetWare server. X X 7. Use the Btrieve Setup utility to configure NetWare Btrieve according to your application's requirements. For more information about the Setup utility, see Chapter 3, "Installing and Configuring Btrieve" in the "Btrieve Installation and Operation" manual. =============================================================================== NetWare Btrieve v6.1 Upgrade Information ======================================== For a description of the enhancements to NetWare Btrieve v6.1, refer to Chapter 1 of the "Btrieve Installation and Operation" manual. Before you start NetWare Btrieve v6.1, read the following sections in this document. - NetWare Btrieve v6.1 File Recovery -- Outlines how to ensure uncorrupted Btrieve files when upgrading to NetWare Btrieve v6.10c. - NetWare Btrieve v6.1 File Format -- Addresses some of the differences between the NetWare Btrieve v6.1, v6.0, and v5.x file formats. - NetWare Btrieve v6.1 Record Locking -- Describes the new implementation of record locking within concurrent transactions. - NetWare Btrieve v6.1 Operations -- Highlights the new NetWare Btrieve v6.1 chunk operations and the restrictions that apply when using NetWare Btrieve v6.0 to operate on records larger than 64 KB. - NetWare Btrieve v6.1 Utilities -- Provides important notes on NetWare Btrieve's logging feature. - NetWare Btrieve v6.1 Requesters -- Highlights the new NetWare Btrieve v6.1 configuration options for the DOS and OS/2 Requesters. - NetWare Btrieve v6.1 Communications Programs -- Describes the enhanced NetWare Btrieve Message Router that provides NetWare Btrieve support for NLMs that need to run in the IOEngine of a NetWare SFT III server. - NetWare Btrieve v6.1 Status Codes -- Discusses error conditions specific to different versions of NetWare Btrieve. NetWare Btrieve v6.1 File Recovery ---------------------------------- If you have a previous version of NetWare Btrieve and you are upgrading to NetWare Btrieve v6.10c, ensure that you have uncorrupted Btrieve files before continuing any further. To detect file corruption, perform either of the following procedures for each Btrieve file immediately after installing NetWare Btrieve v6.10c. - Method 1 -- Implement this procedure if you have large files and are interested in detecting PAT corruption only. - Method 2 -- Implement this procedure if you are interested in detecting PAT corruption as well as other types of file corruption. NOTE: Before you perform either procedure, make a backup of your Btrieve files. Method 1 -- Detecting PAT Corruption 1. Determine the page size of each Btrieve file using the BUTIL -STAT command. 2. Use the BUTIL -SALVAGE command on each Btrieve file. Note: The SALVAGE command does not recover records from your Btrieve file. Therefore, this repair procedure will not take as long to complete as when using the BUTIL -RECOVER command. a. If the utility does not report PAT corruption, the file is fine. You do not have to take further corrective measures. b. If the utility reports PAT corruption, proceed to step 3. 3. The utility asks if you wish to repair the file. Select Yes and provide the page size that you recorded for the file in step 1. 4. Use the BUTIL -SALVAGE command a second time on each Btrieve file. a. If the utility fully recovers the PAT pages on the first run, it reports no errors. The file is fine. You do not need to take further corrective measures. b. If the utility again reports PAT corruption, proceed to step 5. 5. Make sure you have enough disk space to hold two copies of the Btrieve file you are working with. 6. Use the BUTIL -CLONE command to create a duplicate empty Btrieve file. 7. Use the BUTIL -COPY command to recover records from the damaged file and insert them into the new file. 8. You may now resume normal operation with your NetWare Btrieve application. Method 2 -- Detecting PAT Corruption and Other Types of Corruption 1. Use the BUTIL -SALVAGE command on each Btrieve file. a. If the utility does not report PAT corruption, the file is fine. You do not need to take further corrective measures. b. If the utility reports PAT page corruption, proceed to step 2. 2. The utility asks if you wish to repair the file. Select No. 3. Make sure you have enough disk space to hold two copies of the Btrieve file you are working with. 4. Create a description file for each Btrieve file that must be recovered. (See Appendix A, "Description Files" in the "Btrieve Installation and Operation" manual for instructions.) 5. Use the BUTIL -CREATE command to create a duplicate empty Btrieve file. (Using the CREATE command ensures an uncorrupted Btrieve header. You can also use the BUTIL -CLONE command to create the duplicate empty Btrieve file, but this command does not guarantee a clean header.) 6. Use the BUTIL -COPY command to recover records from the damaged file and insert them into the new file. 7. You may now resume normal operation with your NetWare Btrieve application. NetWare Btrieve v6.1 File Format -------------------------------- When creating files, Btrieve v6.0 and v6.1 use a new file format that allows faster data access than possible with versions of Btrieve prior to v6.0. This new file format, first introduced in Btrieve v6.0, has been slightly modified in Btrieve v6.1. For more information on the Btrieve v6.1 file format, refer to the "Btrieve Programmer's Manual" included in the NetWare Btrieve v6.1 Developer's Kit Supplement, which is available through the Novell Professional Developers' Program (PDP). When working with Btrieve files created with different versions of Btrieve, consider the following. - New file features supported by Btrieve v6.1 include the following: multiple alternate collating sequences (ACSs), locale-specific ACSs, Variable-tail Allocation Tables (VATs), and the ability to mark a file as using index balancing. Btrieve v6.1 returns a file version of 6.1 if the file specified in a Stat operation or BUTIL -STAT command was created with multiple ACSs, locale-specific ACSs, VATs, or the index balancing option. NOTE: Files created with any of these features are created in the Btrieve v6.1 file format. If Btrieve v6.1 creates a file without any of these features, it creates the file in the Btrieve v6.0 file format by default. You can override the v6.0 default and create Btrieve v5.x files by using the Setup utility. Refer to Chapter 3, "Installing and Configuring Btrieve" in the "Btrieve Installation and Operation" manual for more information on the Setup utility. - Btrieve v6.0 operates on a file created by Btrieve v6.1, unless the file uses multiple ACSs, locale-specific ACSs, VATs, or the balanced index flag. That is, Btrieve v6.0 cannot open a file that uses the Btrieve v6.1 file format. NOTE: Btrieve v6.0 returns a Status Code 30 (The file specified is not a Btrieve file) when you attempt to open a file created in the Btrieve v6.1 file format. (This is generally true whenever you use an earlier Btrieve version to open a file that has a more recent Btrieve file format.) - Btrieve v6.1 can open files that were created with earlier versions of Btrieve. For example, Btrieve v6.0 can open files created with Btrieve v5.x, and Btrieve v6.1 can open files created with Btrieve v5.x or v6.0. Additionally, Btrieve v6.1 can write to files using the existing file format. In other words, Btrieve v6.1 writes to v5.x files using the v5.x file format and writes to v6.0 files using the v6.0 file format. NOTE: When Btrieve v6.1 opens files from earlier versions, it does not convert them automatically to the v6.1 file format. For example, if you use Btrieve v6.1 to open a v6.0 file, Btrieve v6.1 does not convert the v6.0 file to a v6.1 file format. However, if an application uses Btrieve v6.10a on a v6.0 file and creates an index that uses a second ACS or a locale-specific ACS, the file format will be upgraded to a version 6.1, thus preventing the file from being opened by an earlier Btrieve version, which would not recognize these features. If your database contains files created with versions of NetWare Btrieve prior to v6.1, you may want to upgrade them to take advantage of the NetWare Btrieve v6.1 features. The Btrieve Rebuild utility converts Btrieve data files to the v6.1 file format. Refer to Chapter 3, "Installing and Configuring Btrieve" in the "Btrieve Installation and Operation" manual for information on how to rebuild your existing Btrieve files. - NetWare Btrieve v5.x cannot open files that have a v6.0 or v6.1 file format. NOTE: If you are using NetWare Btrieve v6.1 and you need backward compatibility with Btrieve v5.x, use the Btrieve Setup option Create Btrieve Files in Pre v6.x Format. This option allows you to create files with NetWare Btrieve v6.1 and use them with Btrieve v5.x. (Keep in mind, however, that many of the NetWare Btrieve v6.1 features require the NetWare Btrieve v6.1 file format.) Refer to Chapter 3, "Installing and Configuring Btrieve" in the "Btrieve Installation and Operation" manual for more information on the Setup utility. - NetWare Btrieve v6.1 supports a longer STS data type than NetWare SQL. NOTE: Make sure that the length of the STS data type does not exceed 15 bytes if you plan to use the NetWare Btrieve v6.1 files with NetWare SQL. - NetWare Btrieve v6.1 allows the creation of an STS data type index in files using the NetWare Btrieve v6.0 file format. IMPORTANT: If you use NetWare Btrieve v6.00d or an earlier Btrieve version to access a file with an STS data type index, a server abend may occur. NetWare Btrieve v6.1 Record Locking ----------------------------------- NetWare Btrieve v6.1 provides more concurrency by allowing true record- level locking in concurrent transactions. An explicit record lock (by adding a bias to the Get and Step operations) does not lock the corresponding data page; it locks only that particular record. Additionally, NetWare Btrieve v6.10b/c provides the ability to share locks between multiple cursors of the same file in an application. Successful locking of a record (inside or outside a transaction) guarantees that no other client is able to update or delete that record. In other words, when a user performs an Update or Delete operation on a record that he has previously locked, he will eventually succeed unless a deadlock situation is detected. (A deadlock occurs when two or more clients are each waiting on resources that one of the clients has not yet released.) If an application opens the same file multiple times, the locks issued by different cursors do not block each other. The cursors are still independent in the sense that they cannot explicitly unlock (using an Unlock operation) the records that were locked by the other cursors. After a cursor has read a record with a lock, a second cursor can update or delete the record regardless whether this second cursor locked the record. The first cursor will not get an error until it tries to delete or update that record. In general, when implementing multiple cursors within a concurrent transaction, locks obtained on a cursor before the application starts a concurrent transaction are automatically released when the cursor becomes an active participant of that transaction. (A cursor becomes an active participant of a concurrent transaction if a lock is requested or an Insert/Delete/Update operation is executed with that cursor.) The transaction does not have any effect on the inactive cursors. That is, locks obtained before the transaction are still maintained after ending/aborting the transaction of inactive cursors. NetWare Btrieve v6.1 Operations ------------------------------- NetWare Btrieve v6.1 supports the following new Btrieve operations. For more information about these new operations, refer to the "Btrieve Programmer's Manual" included in the NetWare Btrieve v6.1 Developer's Kit Supplement, which is available through the Novell Professional Developers' Program (PDP). - Find Percentage and Get By Percentage -- Windows-oriented applications can use these new operations for implementing scroll bars. - Get Direct/Chunk and Update Chunk -- NetWare Btrieve v6.1 allows applications to operate on portions of a record, called "chunks," rather than on the entire record. Through the new Get Direct/Chunk and Update Chunk operations, NetWare Btrieve v6.1 supports records larger than 64 KB. NOTE: Applications can use the new chunk operations to build records larger than 64 KB in files that use the NetWare Btrieve v6.0 file format. When NetWare Btrieve v6.0 operates on files containing records larger than 64 KB, however, the following restrictions apply. - If you use an Update Chunk operation in a file that uses the NetWare Btrieve v6.0 file format, one of the file's Free Space Lists may be left in a state that can cause NetWare Btrieve v6.00d or an earlier NetWare Btrieve version to overwrite its own cache; a server abend may occur. - NetWare Btrieve v6.0 does not recognize the Get Direct/Chunk or Update Chunk operations, and therefore can perform only operations that update or retrieve entire records. Those "entire record" operations can retrieve or update only up to 64 KB of a record because the operations' data buffer length parameter, which specifies the amount of data to update or retrieve, can contain a maximum value of 64 KB. - If you use an Update Chunk operation to create a record larger than 64 KB in a file that uses the NetWare Btrieve v6.0 file format, NetWare Btrieve v6.0 (which can use operations only to update or retrieve entire records) cannot retrieve more than the first 64 KB of the record. NetWare Btrieve v6.0 returns a Status Code 22 (The data buffer parameter is too short) or a Status Code 97 (The communications buffer is too small) to indicate that there is more data to be retrieved. - Because NetWare Btrieve v6.0 does not recognize the Update Chunk operation, you cannot use NetWare Btrieve v6.0 to modify a record that is larger than 64 KB and still have the resulting record be larger than 64 KB. You can use the Update operation to shorten such a record. The length of the record resulting from a successful Update operation is defined by the operation's data buffer length parameter, which has a maximum value of 64 KB. NetWare Btrieve v6.1 Utilities ------------------------------ Btrieve Monitor Utility (BTRMON.NLM) -- The NetWare Btrieve v6.1 Monitor utility (BTRMON.NLM) replaces the NetWare Btrieve v5.x Console utility (BCONSOLE.NLM). IMPORTANT: NLM applications that call NetWare Btrieve must issue a Btrieve Reset before unloading. Failure to do so may lead to a server abend when you try to use the Btrieve Monitor utility to monitor the NLM application's activity. Rebuild Utility (BREBUILD.NLM) -- This new Btrieve utility allows you to upgrade files created with versions of NetWare Btrieve prior to v6.0. Use this utility to upgrade your files to take advantage of the NetWare Btrieve v6.1 features. For more information about rebuilding your existing files, refer to "Rebuilding Existing Btrieve Files" in Chapter 3 of the "Btrieve Installation and Operation" manual. NOTE: Before running the Rebuild utility (either from the command line or through the Setup utility), you must start NetWare Btrieve v6.1. Roll Forward Utilities (BROLLFWD.EXE, PBROLL.EXE, and WBROLL.EXE) -- When using NetWare Btrieve's logging feature and the Roll Forward utility, consider the following: - NetWare Btrieve does not allow a log file to contain log entries created by different versions of NetWare Btrieve. That is, all entries in a log file must be logged under the same version of NetWare Btrieve. Otherwise, NetWare Btrieve displays a system error message on the server console and ignores logging for the Btrieve file. - If you need to restart NetWare Btrieve, specify the same index balancing setting that was used when you first loaded NetWare Btrieve (after a backup) and performed logging. Otherwise, you may receive a Status Code 43 (The specified record is invalid) when you run the Roll Forward utility. - If you need to run the Roll Forward utility (for example, after a system crash), load the same version of Btrieve and specify the same index balancing setting that was used during logging. Otherwise, you may receive a Status Code 43 (The specified record is invalid). NOTE: If you want to switch to a different version of NetWare Btrieve, or you want to change the index balancing setting, first create a backup of the Btrieve files to be logged and then delete the corresponding log files. - If you attempt to create a log file for a Btrieve file that contains records larger than 57 KB, you may receive a Status Code 43 (The specified record is invalid) when you run the Roll Forward utility. The NetWare Btrieve v6.1 BROLLFWD.EXE file for DOS workstations replaces the NetWare Btrieve v6.0 file DBROLL.EXE. NetWare Btrieve v6.1 Requesters ------------------------------- NetWare Btrieve Requester for UnixWare -- This new Requester provides UnixWare clients with access to Btrieve data residing on a NetWare Btrieve server. For detailed information about this Requester, refer to the separate Readme document, BTRUNIX.TXT, that is included in this upgrade. NetWare Btrieve Requester for DOS -- This Requester has three new configuration options. For detailed information about this Requester, refer to Chapter 4 in the "Btrieve Installation and Operation" manual. - NetWare Runtime Server Support (/C) -- Enables or disables NetWare Runtime support. - DOS Session Load (/L) -- Allows you to load another instance of the Btrieve DOS Requester even if it is already loaded. This option is useful if you want to run Windows applications using the Btrieve DOS Requester while running DOS VM applications that are also using the Requester. - Real-Time Data Compression (/O) -- Helps reduce network traffic by reducing the number of packets required to complete a request to Btrieve. NetWare Btrieve Requester for OS/2 -- This Requester also provides Runtime Server support. For detailed information about the NetWare Btrieve OS/2 Requester, refer to Chapter 4 in the "Btrieve Installation and Operation" manual. NetWare Btrieve v6.1 Communications Programs -------------------------------------------- An enhanced NetWare Btrieve Message Router (BROUTER.NLM) and a new communications module (BTRVSTUB.NLM) were provided with NetWare Btrieve v6.10b to support NLMs that need to run in the IOEngine of a NetWare SFT III server. BROUTER.NLM redirects all Btrieve calls from the IOEngine to NetWare Btrieve running in the MSEngine (Mirror Server Engine). To run NLMs that require Btrieve in the IOEngine, perform the following steps: 1. Load BTRIEVE.NLM and BSPXCOM.NLM in the MSEngine. You can configure the BSTART.NCF NetWare command file to load these NLMs. NOTE: Depending on the particular NLM that you will be running in the IOEngine, you may need to increase BSPXCOM's data buffer size with the Btrieve Setup utility (BSETUP.NLM). Consult the "Btrieve Installation and Operation" manual for more information. 2. Load AFTER311.NLM in the IOEngine. 3. Load BTRVSTUB.NLM in the IOEngine. This NLM provides Btrieve API names so that BROUTER.NLM may be loaded. 4. Load BROUTER.NLM in the IOEngine. NOTE: Depending on the particular NLM that you will be running in the IOEngine, you may need to increase BROUTER's data buffer size with the Btrieve Setup utility (BSETUP.NLM). Consult the "Btrieve Installation and Operation" manual for more information. NetWare Btrieve v6.1 Status Codes --------------------------------- Status Code 11 (The specified filename is invalid) -- If you receive this status code when you open a Btrieve file using the NetWare Btrieve OS/2 Requester (BTRCALLS.DLL), make sure that you are using the latest NetWare OS/2 Requester. Status Code 30 (The file specified is not a Btrieve file) -- NetWare Btrieve v6.0 returns this status code when you attempt to open a file that has the NetWare Btrieve v6.1 file format. (This is generally true whenever you use an earlier NetWare Btrieve version to open a file that has a more recent file format.) Status Code 43 (The specified record address is invalid) -- The Btrieve Roll Forward utility receives this status code when the address acquired from the Free Space List of the Btrieve file during an Insert operation at roll forward time is different from the one received at logging time. The synchronization problem with Free Space Lists occurs when you use different versions of Btrieve or the same Btrieve version but with a different index balancing setting. The following is a summary of the specific conditions for which Status Code 43 can be returned: - During logging, you loaded Btrieve multiple times and did not specify the same index balancing setting each time. - You inserted or updated a record larger than 57 KB. - At roll forward time, you loaded a different version of NetWare Btrieve or the same NetWare Btrieve version but with a different index balancing setting from what you used at logging time. To correct the synchronization problem with Free Space Lists, load the proper version of NetWare Btrieve with the proper index balancing setting. Status Code 44 (The specified key path is invalid) -- NetWare Btrieve v6.1 returns this code for some situations in which earlier versions of NetWare Btrieve returned Status Code 82 (The application lost positioning). These situations can occur when you define the key attribute to be manual or null (all-segment and any-segment). If you have an existing NetWare Btrieve application that checked for Status Code 82, you may want to rewrite the application to check for Status Code 44 as well. Refer to Chapter 2 in the "Btrieve Programmer's Manual" (included in the NetWare Btrieve v6.1 Developer's Kit Supplement) for more information about all-segment and any-segment null keys. Status Code 102 (Insufficient stack space is available) -- NetWare Btrieve v6.1 requires 3 KB of stack space. If your NLM application receives this status code, try increasing the size of the stack in your application. You may need more than 3 KB of stack space if you are accessing files defined by NetWare SQL as being under referential integrity (RI) constraints. Because NetWare Btrieve uses recursion when enforcing these constraints, at least 3KB of stack space should be available when you make the Btrieve call. ================================================================================ NetWare Btrieve v6.1 Program Files ================================== The first part of this section includes information about the files that comprise NetWare Btrieve v6.1. The second part lists the specific files included in this NetWare Btrieve v6.10c Upgrade. Components of NetWare Btrieve v6.1 ---------------------------------- The NetWare Btrieve v6.1 program files included in this upgrade package can be grouped into the following categories: - Files related to the NetWare 3 environment - Files related to the NetWare 4 environment - Files related to server operations - Files related to DOS workstation operations - Files related to Windows workstation operations - Files related to OS/2 workstation operations - Files related to UnixWare workstation operations The following lists describe the NetWare Btrieve v6.1 program files in each category. - Files related to the NetWare 3 environment: AFTER311.NLM NLM that NetWare Btrieve v6.1 requires in a NetWare 3 environment. CLIB.NLM C Library for the NetWare 3 environment. NWLOCALE.DLL National Language Support DLL for the NetWare 3 environment. The /PUBLIC/WIN and /PUBLIC/OS2 directories each contain a different NWLOCALE.DLL. NWSNUT.NLM Graphics User Interface (GUI) NLM for the NetWare 3 environment. - Files related to the NetWare 4 environment: CLIB.NLM C Library for the NetWare 4 environment. - Files related to server operations: BDIRECT.NLM Directory Services utility that allows you to install or remove a Btrieve server object in a NetWare 4 environment. BDIRECT.MSG Message file for BDIRECT.NLM (for the NetWare 4 environment). BDROUTER.NLM NLM that provides Directory Services support in a NetWare 4 environment. BDROUTER.MSG Message file for BDROUTER.NLM (for the NetWare 4 environment). BREBUILD.NLM Rebuild utility that lets you convert existing NetWare Btrieve v5.x files to NetWare Btrieve v6.1 format. BREBUILD.MSG Message file for BREBUILD.NLM. BROUTER.NLM NLM that allows server-based NetWare Btrieve applications to access Btrieve databases on remote servers. BROUTER.MSG Message file for BROUTER.NLM. BSETUP.NLM Btrieve installation and configuration utility. BSETUP.MSG Message file for BSETUP.NLM. BSETUP.HLP Help file for BSETUP.NLM. BSPXCOM.NLM SPX communications agent. BSPXCOM.MSG Message file for BSPXCOM.NLM. BSPXSTUB.NLM NLM that allows you to use the Btrieve Monitor utility (BTRMON.NLM) when BSPXCOM.NLM is not loaded. BSPXSTUB.MSG Message file for BSPXSTUB.NLM. BSTART.NCF Batch file executed to start NetWare Btrieve. This file also loads BSPXCOM.NLM and BROUTER.NLM (if NetWare Btrieve is configured to do so). BSTOP.NCF Batch file executed to stop NetWare Btrieve. This file also unloads BSPXCOM.NLM and BROUTER.NLM (if loaded). BTRIEVE.NLM NetWare Btrieve Record Manager (database engine). BTRIEVE.MSG Message file for BTRIEVE.NLM. BTRMON.NLM Btrieve Monitor utility that lets you monitor the activity of Btrieve files, users, and communications resources. BTRMON.MSG Message file for BTRMON.NLM. BTRMON.HLP Help file for BTRMON.NLM. BTRVSTUB.NLM NLM that BROUTER.NLM requires and that provides NetWare Btrieve support for NLMs that need to run in the IOEngine of a NetWare SFT III server. BUTIL.NLM Btrieve Maintenance utility, which is a command line utility that allows you to create, manipulate, and recover Btrieve data files. BUTIL.MSG Message file for BUTIL.NLM. RSPXSTUB.NLM Module that resolves external references for the Btrieve Monitor utility (BTRMON.NLM) when BSPXCOM.NLM is not loaded. If you want to use the Btrieve Monitor utility to monitor outgoing requests generated by the NetWare Btrieve Message Router (BROUTER.NLM) to another server and you do not want to load BSPXCOM.NLM, load RSPXSTUB.NLM instead of BSPXSTUB.NLM at the server. RSPXSTUB.MSG Message file for RSPXSTUB.NLM. - Files related to DOS workstation operations: BREQUEST.EXE Btrieve Requester for DOS. BREQUEST.MSG Message file for BREQUEST.EXE. BREQUTIL.EXE Btrieve Requester utility that allows you to stop the Requester and to obtain the Requester's version number at a DOS workstation. BREQUTIL.MSG Message file for BREQUTIL.EXE. BROLLFWD.EXE Roll Forward utility for the DOS operating environment. This utility recovers changes made to a Btrieve file between the time of the last backup and a system failure. BROLLFWD.MSG Message file for BROLLFWD.EXE. - Files related to Windows workstation operations: WBROLL.EXE Roll Forward utility for the Windows operating environment. This utility recovers changes made to a Btrieve file between the time of the last backup and a system failure. WBROLLRS.DLL Resource file for WBROLL.EXE. WBTRCALL.DLL Btrieve Requester for Windows. WBTRVRES.DLL Resource file for the Btrieve Windows Requester. WNDBCNVT.EXE Windows Conversion utility that converts the client-based Btrieve DLL (WBTRCALL.DLL) to WBTRLOCL.DLL. NOVDB.INI Btrieve initialization file for the Btrieve Windows Requester. - Files related to OS/2 workstation operations: PBROLL.EXE Roll Forward utility for the OS/2 operating environment. This utility recovers changes made to a Btrieve file between the time of the last backup and a system failure. PBTRVRES.DLL Resource file for PBROLL.EXE. BTRCALLS.DLL Btrieve Requester for OS/2. NDBCOMM.DLL Communications handler for the Btrieve Requester for OS/2. NDBCNVT.EXE OS/2 Conversion utility that converts the client-based Btrieve DLL (BTRCALLS.DLL) to BTRLOCL.DLL. - Files related to UnixWare workstation operations: LIBBTRV.A Archive Btrieve Interface Library. LIBCOMM.A Archive Communications Interface Library. LIBBTRV.SO Shared-object Btrieve Interface Library. LIBCOMM.SO Shared-object Communications Interface Library. UNXCBTRV.O C interface object file. BTRUNIX.TXT Readme document that describes the Btrieve Requester for UnixWare. NetWare Btrieve v6.10c Upgrade Files ------------------------------------ Self-Extracting File Name: BTR61.EXE Revision: 6.10C Date: 1-4-94 Files Included Version Size Date Time -------------- ------- ---- ---- ---- BTR61.TXT This File \NW3 AFTER311.NLM 25,290 8-02-93 4:21p CLIB.NLM v3.12d 308,030 11-09-93 3:56p NWSNUT.NLM 160,519 6-04-93 9:32a \NW4 CLIB.NLM v4.01b 197,722 11-10-93 3:12p \SYSTEM BDIRECT.MSG 3,665 1-26-93 3:04p BDIRECT.NLM 15,609 1-26-93 3:06p BDROUTER.MSG 472 5-17-93 3:52p BDROUTER.NLM 22,685 5-17-93 3:55p BREBUILD.MSG v1.10a 5,028 8-19-93 5:19p BREBUILD.NLM v1.10a 40,745 8-26-93 1:34p BROUTER.MSG v6.10b 472 8-24-93 5:13p BROUTER.NLM v6.10b 21,101 8-27-93 10:29a BSETUP.HLP 31,141 12-18-92 9:09a BSETUP.MSG 7,972 11-25-92 11:51a BSETUP.NLM 72,329 1-07-93 11:04a BSPXCOM.MSG v6.10b 1,716 11-23-93 4:44p BSPXCOM.NLM v6.10b 23,665 11-24-93 10:41a BSPXSTUB.MSG 235 5-05-93 1:24p BSPXSTUB.NLM 1,254 5-20-93 3:51p BSTART.NCF 99 11-05-92 4:29p BSTOP.NCF 49 4-21-92 2:46p BTRIEVE.MSG v6.10c 2,245 11-19-93 9:49a BTRIEVE.NLM v6.10c 188,660 11-19-93 9:53a BTRMON.HLP v3.00c 37,065 1-22-93 4:38p BTRMON.MSG v3.00c 6,468 1-28-93 2:25p BTRMON.NLM v3.00c 75,022 1-28-93 2:25p BTRVSTUB.NLM v6.10b 950 8-27-93 10:38a BUTIL.MSG v6.10a 9,333 9-20-93 10:10a BUTIL.NLM v6.10a 200,411 10-25-93 5:22p RSPXSTUB.MSG 243 5-05-93 1:25p RSPXSTUB.NLM 1,743 5-20-93 3:51p \PUBLIC BREQUEST.EXE v6.10e 60,746 12-09-93 9:13a BREQUEST.MSG v6.10e 1,180 12-09-93 9:12a BREQUTIL.EXE v6.10b 29,801 10-28-93 1:41p BREQUTIL.MSG v6.10b 1,091 10-20-93 1:04p BROLLFWD.EXE v6.10b 79,104 10-11-93 2:10p BROLLFWD.MSG v6.10b 3,739 9-16-93 12:35p BTRCALLS.DLL 17,944 6-11-93 9:32a BTRUNIX.DOC 12,231 6-23-93 10:15a LIBBTRV.A 21,432 2-05-93 6:11p LIBBTRV.SO 18,268 2-05-93 6:12p LIBCOMM.A 19,120 2-05-93 6:12p LIBCOMM.SO 18,596 2-05-93 6:13p NDBCNVT.EXE v6.10 18,192 1-29-93 1:42p NDBCOMM.DLL v6.10b 20,343 10-26-93 1:16p NOVDB.INI 2,460 11-06-92 10:50a PBROLL.EXE v6.10a 54,768 8-26-93 10:58a PBTRVRES.DLL v6.10a 13,360 6-30-93 11:10a UNXCBTRV.O 1,420 11-30-92 11:40a WBROLL.EXE v6.10c 45,824 11-16-93 5:14p WBROLLRS.DLL v6.10c 11,984 11-16-93 5:14p WBTRCALL.DLL 13,131 5-13-93 4:06p WBTRVRES.DLL v6.10a 22,912 1-30-93 12:18p WNDBCNVT.EXE v6.10 30,926 1-30-93 12:08p \PUBLIC\WIN NWLOCALE.DLL 38,800 5-18-93 1:00p \PUBLIC\OS2 NWLOCALE.DLL 34,480 5-18-93 1:00p =============================================================================== Code Changes in NetWare Btrieve v6.10c ====================================== The following information describes changes made to the NetWare Btrieve v6.1 code. This current code was released in December 1993 as NetWare Btrieve v6.10c. The descriptions for the NetWare Btrieve v6.10c engine appear first, followed by those for the requesters, the utilities, and the communications programs. Each description includes one or more search strings. These search strings indicate areas in which you may encounter the problem that this specific code upgrade addresses. The search strings may help you quickly determine whether the code you need for a specific problem is included in this upgrade package. NOTE: In some cases, the text describes a problem or reported bug that the update does NOT fix. In those cases, use the workaround provided. * * * * * * * * * Product/Platform: NetWare Btrieve - BTRIEVE.NLM, v6.10 Search Strings: BINARY KEY FLAG, CREATE COMMAND, EXTENDED KEY FLAG Problem Fixed by This Upgrade: If you set a key specification's key flag to both binary (4) and extended (256) when creating a file, Btrieve creates the key as a binary rather than an extended type. This code upgrade ensures that NetWare Btrieve ignores the binary key flag and successfully creates an extended key. * * * * * * * * * Product/Platform: NetWare Btrieve - BTRIEVE.NLM, v6.10 Search Strings: 25, 59, CREATE KEY NUMBER -1, OPEN FILE Problem Fixed by This Upgrade: When you attempt to perform a Create operation using -1 as the key number parameter on a file that is already open, NetWare Btrieve returns Status Code 25 (Btrieve cannot create the specified file). This code upgrade ensures that NetWare Btrieve returns the correct status code, Status Code 59 (The specified file already exists). * * * * * * * * * Product/Platform: NetWare Btrieve - BTRIEVE.NLM, v6.10 Search Strings: 66, 67, 72, 73, ABEND, DEADLOCK, DELETE, INSERT, REFERENTIAL INTEGRITY, UPDATE Problem Fixed by This Upgrade: When Referential Integrity (RI) is enabled on a database and two or more clients attempt to perform Insert, Delete, or Update file operations simultaneously, NetWare Btrieve may create a deadlock situation. In addition, when two or more clients attempt to modify RI-referenced files, the server may end abnormally, or NetWare Btrieve may incorrectly return one of the following Status Codes: 66 (The maximum number of open databases has been exceeded), 67 (Btrieve cannot open the SQL data dictionaries), 72 (Btrieve cannot open the RI referenced file), or 73 (The RI definition is out of sync). This code upgrade ensures that NetWare Btrieve handles such situations correctly. * * * * * * * * * Product/Platform: NetWare Btrieve - BTRIEVE.NLM, v6.10 Search Strings: DATA COMPRESSION, FREE SPACE BIT Problem Fixed by This Upgrade: When you create a file with both fixed-length records and data compression, NetWare Btrieve ignores the free-space specification. This code upgrade ensures that the free space specification is now supported when you select data compression. * * * * * * * * * Product/Platform: NetWare Btrieve - BTRIEVE.NLM, v6.10 Search Strings: ABEND, HANG, REFERENTIAL INTEGRITY UTILITY /R OPTION Problem Fixed by This Upgrade; When you attempt to run the Referential Integrity utility (RIUTIL) with the /R option, the NetWare Btrieve engine may hang, or the server may end abnormally. This code upgrade ensures that NetWare Btrieve handles RIUTIL -R operations correctly. * * * * * * * * * Product/Platform: NetWare Btrieve - BTRIEVE.NLM, v6.10 Search Strings: 5.X FORMAT FILES, DUPLICATABLE/NON-DUPLICATABLE KEYS, CORRUPTED FILES Problem Fixed by This Upgrade: If you attempt to perform an illegal operation such as inserting a duplicate key into a file that does not allow duplicates, the Insert operation should fail. In one specific situation, however, NetWare Btrieve does insert the record, but NetWare Btrieve inserts it incorrectly and does not update the file's indexes. Note that this situation occurs only when all four of the following conditions are in effect during the Insert operation: (1) The file is in a pre-v6.x file format. (2) The file allows only one record per data page. (3) A succesful insert operation would cause NetWare Btrieve to allocate a new page to the file. (4) The failed insert operation is followed by a successful insert. Although the Insert returns an error status code in this situation, indicating that the operation failed, the record is placed (incorrectly) in the file, and you can access that record with Step operations but not with Get operations. * * * * * * * * * Product/Platform: NetWare Btrieve - BTRIEVE.NLM, v6.10 Search Strings: 132, 2 GB FILE SIZE, 512 PAGE SIZE, CORRUPTED FILE Problem Fixed by This Upgrade NetWare Btrieve specifies that v6.0 and v6.1 files with a page size of 512 can be no larger than 2 gigabytes in size. However, NetWare Btrieve does not enforce this limit. As a result, when a file grows beyond the 512 page-size limit, NetWare Btrieve corrupts the file or overwrites memory. This code upgrade ensures that NetWare Btrieve now returns Status Code 132 (The file is full). * * * * * * * * * Product/Platform: NetWare Btrieve - BTRIEVE.NLM, v6.10 Search Strings: 80, 2+GB FILE, DELETE, STEP, UPDATE Problem Fixed by This Upgrade: NetWare Btrieve does not perform some operations correctly on files larger than 2 gigabytes in size. Most notably, attempts to update or delete a record with a "physical" address larger than 2 gigabytes will fail, with NetWare Btrieve incorrectly returning a Status Code 80 (Record conflict.) Also, attempts to perform a Step Next operation to access a record with a "physical" address greater than 2 gigabytes incorrectly returns a record much closer to the beginning of the file. This code upgrade ensures that NetWare Btrieve handles files larger than 2 gigbytes correctly. * * * * * * * * * Product/Platform: NetWare Btrieve - BTRIEVE.NLM, v6.10 Search Strings: COMPRESSION BUFFER, DEFAULT Enhancement: This release of NetWare Btrieve changes the value of one of the default Btrieve load parameters. The default now specifies a compression buffer of 8 kilobytes rather than a compression buffer of zero. * * * * * * * * * Product/Platform: NetWare Btrieve - BTRIEVE.NLM, v6.10 Search Strings: PERFORMANCE DEGRADATION, STAT CALLS Problem Fixed by This Upgrade When an application makes a status call, NetWare Btrieve allocates memory dynamically. Numerous STAT calls cause the engine to run more slowly, which is the result of the operating system occasionally allocating memory inefficiently. This code upgrade ensures that numerous STAT calls do not cause undue performance degradation. * * * * * * * * * Product/Platform: NetWare Btrieve - BTRIEVE.NLM, v6.10 Search Strings: 48, 49, -D LOAD OPTION, LOCALE-SPECIFIC ACS FILES, INVALID PRE V6.0 FILES, STS DATA TYPE Problem Fixed by This Upgrade: If you load NetWare Btrieve with the -d option (Create Btrieve Files in Pre v6.x Format), the engine incorrectly allows applications to create locale-specific alternate collating sequences (ACSs) and STS key types, both of which are Btrieve v6.1 file-format features. This code upgrade ensures that NetWare Btrieve successfully blocks the creation of files with these features when you specify the -d option. Instead, the engine correctly returns either Status Code 48 (The alternate collating sequence definition is invalid) or Status Code 49 (The extended key type is invalid), as appropriate. * * * * * * * * * Product/Platform: NetWare Btrieve - BTRIEVE.NLM, v6.10 Search Strings: KEY/FILE CORRUPTION, INSERTING RECORDS, TRANSACTION Problem Fixed by This Upgrade: After inserting records into a file as part of a transaction, NetWare Btrieve occasionally corrupts the data file. This code upgrade ensures that NetWare Btrieve handles this type of operation without file corruption. * * * * * * * * * Product/Platform: NetWare Btrieve - BTRIEVE.NLM, v6.10 Search Strings: FILES NOT CLOSED AFTER CONTINUOUS OPERATIONS Problem Fixed by This Upgrade: NetWare Btrieve occasionally fails to close files after they are removed from Continuous Operations mode. Although NetWare Btrieve returns a zero from the call to end Continuous Operations mode, indicating that the operation was successful and the files released, the Btrieve Monitor Utility shows the files as still in use by the client who initiated Continuous Operations mode until that client issues a Reset call. This code upgrade ensures that NetWare Btrieve successfully closes all files after completing a Continuous Operations procedure. * * * * * * * * * Product/Platform: NetWare Btrieve Requester for DOS - BREQUEST.EXE, v6.10 Search Strings: RAM USAGE Problem Fixed by This Upgrade: The NetWare Btrieve DOS Requester uses 6K more RAM than earlier versions, causing NetWare Btrieve to return Status Code 1002 (Btrieve cannot allocate the memory needed). This code upgrade ensures that NetWare Btrieve allocates the correct amount of RAM. * * * * * * * * * Product/Platform: NetWare Btrieve Requester for DOS - BREQUEST.EXE, v6.10 Search Strings: 12, NETWARE 4.X Problem: The NetWare Btrieve Requester for DOS (BREQUEST) returns Status Code 12 (Btrieve cannot find the specified file) when you login to a NetWare 4.x server and then attempt to run the requester. The problem does not exist if you login to a NetWare 3.x server and then map a drive to the NetWare 4.x server prior to running the requester. * * * * * * * * * Product/Platform: NetWare Btrieve Requester for DOS - BREQUEST.EXE, v6.10 Search Strings: WBTRCALL.DLL Problem: Version 6.10d of the NetWare Btrieve Requester for DOS was not completely compatible with the MS Windows Requester, WBRTRCALL.DLL. This code upgrade ensures that BREQUEST and WBTRCALL.DLL are totally compatible. * * * * * * * * * Product/Platform: NetWare Database Communications Requester for OS/2 - NDBCOMM.DLL, v6.10 Search Strings: 3, OPEN, RESET/STOP, START TRANSACTIONS STATEMENTS, SPX CONNECTION Problem Fixed by This Upgrade: The Communications Requester keeps an SPX connection usage count that it increments after executing each START TRANSACTION statement. If you issue more than approximately 64,000 START TRANSACTION statements without issuing a RESET or STOP operation, the Requester resets the usage count to zero, resets the SPX connection, and closes the file. The next START TRANSACTION statement therefore returns Btrieve Status Code 3 (File Not Open). This code upgrade ensures that the Requester handles such cases correctly. * * * * * * * * * Product/Platform: NetWare Btrieve Requester Utility for DOS - BREQUTIL.EXE, v6.10 Search Strings: DATA BUFFER LENGTH, GARBAGE VERSION NUMBER Problem Fixed by This Upgrade: When you load the client version of Btrieve, the NetWare Btrieve Requester utility for DOS first prints the correct version number and then prints garbage characters. This code upgrade ensures that Btrieve resets the data buffer length correctly after a version call, printing only the version number. * * * * * * * * * Product/Platform: NetWare Btrieve Requester Utility for DOS - BREQUTIL.EXE, v6.10 Search Strings: RESET COMMAND Enhancement: This release of the NetWare Btrieve Requester utility has a new command, RESET. The syntax is as follows: BREQUTIL -RESET [ConnectionID] This command performs a Btrieve Reset operation to release the resources used by Btrieve at a workstation. RESET aborts any pending transactions, releases all locks, and closes all open files for the workstation. * * * * * * * * * Product/Platform: NetWare Btrieve Maintenance Utility - BUTIL.NLM, v6.10 Search Strings: DUPLICATE KEYS, DUPLICATE POINTER FLAG, LINKED DUPLICATABLE STORAGE METHOD, STAT COMMAND Problem Fixed by This Upgrade: Executing the NetWare Btrieve Maintenance utility STAT command (BUTIL -STAT) does not print the number of available duplicate keys in a file that uses the linked duplicate method of storing duplicates. After you drop one of the duplicate keys from that file, NetWare Btrieve does not set the duplicate pointer flag in the file header, so the Maintenance utility reports an incorrect number of available duplicate keys in the file. This code upgrade ensures that BUTIL -STAT always prints the actual number of available duplicate keys. * * * * * * * * * Product/Platform: NetWare Btrieve Maintenance Utility - BUTIL.NLM, v6.10 Search Strings: 22, DATA COMPRESSION, RECORD LENGTH GREATER THAN PAGE SIZE Problem Fixed by This Upgrade: The NetWare Btrieve Maintance utility (BUTIL) returns Status Code 22 (The data buffer parameter is too short) when you attempt to copy data from a Btrieve file that specifies data compression and also has a fixed record length larger than the page size of the file. In addition, BUTIL fails to create such a file. This code upgrade ensures that BUTIL creates and processes this type of file correctly. * * * * * * * * * Product/Platform: NetWare Btrieve Maintenance Utility - BUTIL.NLM, v6.10 Search Strings: 22, ACS, 5.X FILES, CLONE COMMAND, SUPPLEMENTAL INDEX Problem Fixed by This Upgrade: The NetWare Btrieve Maintenance utility - CLONE command (BUTIL -CLONE) returns Status Code 22 (The data buffer parameter is too short) when a supplemental key in a Btrieve 5.x file has an alternate collating sequence (ACS). This code upgrade provides a larger buffer for this type of operation. * * * * * * * * * Product/Platform: NetWare Btrieve Maintenance Utility - BUTIL.NLM, v6.10 Search Strings: FILE VERSION, REDIRECTION OUTPUT PROBLEM, STAT COMMAND Problem Fixed by This Upgrade: The NetWare Btrieve Maintenance utility STAT command (BUTIL -STAT) does not correctly redirect output after noting the file version. This code upgrade ensures that BUTIL -STAT handles this type of situation correctly. * * * * * * * * * Product/Platform: NetWare Btrieve Maintenance Utility - BUTIL.NLM, v6.10 Search Strings: BUFFER SIZE, 5.x FILES, HEX 1A CHARACTER, LOAD COMMAND Problem Fixed by This Upgrade: The NetWare Btrieve Maintenance utility -LOAD command (BUTIL -LOAD) stops the loading operation if it encounters a record that uses 0x1A as the first, or first and last characters in the file. This code upgrade instructs the -LOAD command to ignore the hex 1A character in this situation. In addition, this code change also increases the maximum buffer size to 57K for clients in order to accommodate handling large records for v5.x files. * * * * * * * * * Product/Platform: NetWare Btrieve Maintenance Utility - BUTIL.NLM, v6.10 Search Strings: VATS OPERATIONS FAILURE Problem Fixed by This Upgrade: The NetWare Btrieve Maintenance utility (BUTIL) is not handling Variable-tail Allocation Tables (VATs) correctly, causing VAT operations to fail. This code upgrade ensures that BUTIL handles VATs correctly. * * * * * * * * * Product/Platform: NetWare Btrieve Maintenance Utility - BUTIL.NLM, v6.1 Search Strings: COPY COMMAND COPYING INCORRECT NUMBER OF RECORDS Problem Fixed by This Upgrade: The -COPY command does not always copy the specified number of records. This code upgrade ensures that BUTIL handles copying operations correctly. * * * * * * * * * Product/Platform: NetWare Btrieve Maintenance Utility - BUTIL.NLM, v6.1 Search Strings: EMPTY FILE, LOAD COMMAND, VATS Enhancement: This code upgrade enables the NetWare Btrieve Maintenance utility (BUTIL) to load Variable-tail Allocation Tables (VATs) into an empty file. * * * * * * * * * Product/Platform: Rebuild Utility - BREBUILD.NLM, v1.10 Search Strings: TTS BIT, CREATING TRANSACTIONAL FILES Problem Fixed by This Upgrade: The Rebuild utility does not work properly when you load NetWare Btrieve using the -i option (Create files as transactional), which instructs NetWare Btrieve to create a file with the TTS bit set. This code upgrade ensures that the TTS bit is removed from a rebuilt transactional file prior to renaming it to its original filename. After renaming the rebuilt file, the TTS bit is again set for that file. * * * * * * * * * Product/Platform: Rebuild Utility - BREBUILD.NLM, v1.10 Search Strings: 28, TEMPORARY FILE Problem Fixed by This Upgrade: When the NetWare Create operation fails to create the Rebuild utility's temporary file, the Create operation first returns Status Code 28 (The record length is invalid). Then, although no temporary file was generated during the Create operation, the Rebuild utility still attempts to delete the non-existing file and then returns the message "BRebuild could not delete temporary file xxxx.tmp." This code upgrade ensures that the Rebuild utility handles temporary files correctly. * * * * * * * * * Product/Platform: Rebuild Utility - BREBUILD.NLM, v1.10 Search Strings: SPECIFYING MULTIPLE OPTIONS ON COMAND LINE Problem Fixed by This Upgrade: When you specify multiple options following the filename on the Rebuild utility's command line, BREBUILD ignores those options. (If you specify only one option following the filename, BREBUILD displays the syntax Help screen indicating that you should specify options preceding the filename.) This code upgrade ensures that the Rebuild utility correctly parses all command-line options. * * * * * * * * * Product/Platform: Roll Forward Utility for DOS - BROLLFWD.EXE, v 6.10 Roll Forward Utility for MS Windows - WBROLL.EXE, v6.10 Roll Forward Utility for OS/2 - PBROLL.EXE, v6.10 Search Strings: 4, DOUBLE SLASHES IN LOG FILE NAME, INCORRECT LOG FILE SPECIFICATION Problem Fixed by This Upgrade: The NetWare Btrieve Roll Forward utilities do not always work correctly when you enter a pathname to the log file that includes double slashes preceding the server name, as in the following example: \\server\vol:\path\btr.log For example, if the log file is on a different volume, the Roll Forward utilities return Status Code BROLLFWD-6.1-21 (The utility is unable to open \\server\vol:\path\logfile. The number of the applicable system error code is 2). This code upgrade ensures that if you specify a pathname such as \\server\vol:\path\logfile, the Roll Forward utilities change that path to the following: \\server\vol\path\btr.log This is the pathname that appears on a print out of a log file. In addition, this code upgrade also ensures that the Roll Forward utilities accept any of the following as valid pathnames to a log file: \path\btr.fil \path\btr.fil=\path\btr.log \path\btr.fil=\\server\vol:\path\btr.log (where the volume is either the same or different than the default) \path\btr.fil=\\server\vol:path\btr.log * * * * * * * * * Product/Platform: Roll Forward Utility for DOS - BROLLFWD.EXE, v 6.10 Search Strings: UNFORMATTED SCREEN DISPLAY Problem Fixed by This Upgrade: A number of Roll Forward messages are formatted incorrectly for screen output. This code upgrade ensures that BROLLFWD correctly formats messages displayed on the workstation screen. * * * * * * * * * Product/Platform: Roll Forward Utility for DOS - BROLLFWD.EXE, v 6.10 Search Strings: COMMAND-LINE FUNCTIONALITY Enhancement: This release of the NetWare Btrieve Roll Forward utility (BROLLFWD) includes the ability to use the command line to instruct NetWare Btrieve to roll your files forward. Note, however, that the functionality of the utility has not changed. * * * * * * * * * Product/Platform: Roll Forward Utility for DOS - BROLLFWD.EXE, v 6.10 Search Strings: DBROLL Problem Fixed by This Upgrade: The Roll Forward utility DBROLL.EXE, which was used in the DOS environment, is obsolete. It is no longer supported because it could not be enabled for translation. Instead, use BROLLFWD to roll your files forward in the DOS environment. * * * * * * * * * Product/Platform: Roll Forward Utilities for DOS and MS Windows - BROLLFWD.EXE, v6.10 and WBROLL.EXE, v6.10 Search Strings: DISPLAYING KANJI DATA, /L OPTION Problem Fixed by This Upgrade: The Roll Forward utilities for DOS and MS Windows do not display Kanji characters correctly when you attempt a roll forward operation using the List File (/l) option. This code ensures that the utilities print the correct Kanji data without displaying garbage characters. In addition, this code also includes double-byte checking on print operations. * * * * * * * * * Product/Platform: Roll Forward Utility for MS Windows - WBROLL.EXE, v6.10 Search Strings: ADD, OPENING FILE, OWNER NAME, QUEUE Problem Fixed by This Upgrade: The MS Windows Roll Forward utility does not apply the owner name on write operations to files that require such a name. This occurs when the owner name level is 1 or 3. This code upgrade ensures that WBROLL checks for a correct owner name when the file is added to the queue. If, however, you enter an incorrect owner name, WBROLL prompts you to reenter that name if the owner level is 0 or 2, but it returns Status Code WBROLL-6.1-2 (Continue roll forward?) if the owner level is 1 or 3. * * * * * * * * * Product/Platform: Roll Forward Utility for MS Windows - WBROLL.EXE, v6.10 Search Strings: DOUBLE BACKSLASH IN PATHNAME, ROLLFORWARD FAILURE Problem Fixed by This Upgrade: When you attempt to add a file located in a root directory to the queue, the MS Windows Roll Forward utilty incorrectly lists the file in the queue with a double backslash (\\) as the first characters in the pathname. In addition, when you attempt to roll the file forward, WBROLL returns the following messages: WBROLL-6.10-8: The following file was not found in BLOG.CFG \\<filename>. WBROLL-6.10-2: Continue roll forward? This code upgrade ensures that WBROLL does not append a double backslash to the filename if the last character in the Btrieve directory name already contains a single backslash. * * * * * * * * * Product/Platform: Roll Forward Utility for MS Windows - WBROLL.EXE, v6.10 Search Strings: ABORT OPERATION DOES NOT CLOSE BTRIEVE FILE Problem Fixed by This Upgrade: When you abort a roll forward operation before it completes, the MS Windows Roll Forward utility does not close the Btrieve file that is currently being rolled forward. This code upgrade ensures that WBROLL handles this operation correctly. * * * * * * * * * Product/Platform: Roll Forward Utility for MS Windows - WBROLL.EXE, v6.10 Search Strings: DIRECTORY ENDING IN BACKSLASH (\) CHARACTER Problem Fixed by This Upgrade: The MS Windows Roll Forward utility omits a backslash character (\) between the directory name and the filename when the directory name itself ends with a backslash. (For example, WBROLL incorrectly shows the path x95x5C\test.btr as x95x5Ctest.btr.) This code upgrade ensures that WBROLL handles directory names correctly. * * * * * * * * * Product/Platform: Roll Forward Utility for MS Windows - WBROLL.EXE, v6.10 Search Strings: ENABLED FOR TRANSLATION Enhancement: This version of the MS Windows Roll Forward utility is enabled for translation. * * * * * * * * * Product/Platform: Roll Forward Utility Resource File for MS Windows - WBROLLRS.DLL, v6.10 Search Strings: KANJI CHARACTERS, GARBAGE CHARACTERS, QUEUE-ADD Problem Fixed by This Upgrade: The MS Windows Roll Forward utilty displays garbage characters in some entry and filename fields that should contain Kanji characters. This code upgrade changes the display character font in the resource file from ANSI_FIXED_FONT to OEM_FIXED_FONT, ensuring the correct display of the characters in the various fields. * * * * * * * * * Product/Platform: Roll Forward Utility for OS/2 - PBROLL.EXE, v6.10 Search Strings: LIST OF FILES READ INCORRECTLY Problem Fixed by This Upgrade: The OS/2 Roll Forward utility does not correctly read the test file that contains the list of files to roll forward. This code upgrade ensures that PBROLL handles such files correctly. * * * * * * * * * Product/Platform: NetWare Btrieve SPX Communication Program - BSPXCOM.NLM, v6.10 Search Strings: PACKET PROCESSING Enhancement: This code upgrade ensures that the NetWare Btrieve SPX Communication Program (BSPXCOM) uses less CPU time and processes packets more efficiently than previous versions of BSPXCOM. * * * * * * * * * =============================================================================== NetWare Btrieve Documentation ============================= The NetWare Btrieve v6.10c Upgrade includes the same "Btrieve Installation and Operation" manual that accompanied the NetWare Btrieve v6.10b upgrade package. Currently, you can print the v6.10b manual using the set of ASCII text files included in that upgrade. NOTE: You can place an order for a printed manual through Novell Fulfillment. For ordering information, see the "Novell Fulfillment" section below. This v6.10c upgrade package does not include an updated manual set, although it does note changes to the documentation. Documentation Updates, September 1993 ------------------------------------- The following documentation updates apply to the "Btrieve Installation and Operation" manual included in the v6.10b upgrade package. Chapter 3, "Installing and Configuring Btrieve" -- Replace the installation procedure in the "Using the NetWare INSTALL section with the infor Utility" section with the information presented in the "Installation Procedure" section of this Readme document. Chapter 4, "Configuring and Using the Requesters" -- In the "Loading the Windows Requester" section, change the name of the Windows import library to WBTRCALL.LIB. Printing Btrieve Documentation ------------------------------ You can print the "Btrieve Installation and Operation" manual v6.10b in ASCII format. 1. Run BTR61M.EXE, the file that contains the document files. 2. Print the document files, using a print utility of your choice. 3. Photocopy the printed Btrieve manual as needed. Associated Documents -------------------- For information about the Btrieve v6.1 file format and Btrieve operations, refer to the "Btrieve Programmer's Manual." This manual is a component of the NetWare Btrieve v6.1 Developer's Kit Supplement, which is available through the Professional Developer's Program (PDP). NOTE: Some NetWare Btrieve developers find it necessary or useful to provide data dictionaries with their Btrieve-based products. (Dictionaries are Btrieve files that you create and maintain with the XQL products.) In addition to XQL, NetWare SQL products, Developer's kits, and Xtrieve, there are also a number of third-party products that provide this functionality. For detailed information about data dictionaries, see "Using NetWare SQL to Access Relational Inormation from Btrieve Data," NetWare Application Notes, September 1992. ============================================================================= Novell Fulfillment ================== The previous upgrade release of NetWare Btrieve, v6.10b, is also available on diskettes (5.25" and 3.5") and with a printed manual through Novell Fulfillment. For ordering and price information, call 1-800-UPDATE1 (domestic customers) or 317-364-7276 (international customers). You can also place an order by fax (317-364-0787). ================================================================================ Novell, Inc. has attempted to supply trademark information about company names, products, and services mentioned in this file. The following list of trademarks was derived from various sources. NetWare, Novell, Btrieve, and XQL are registered trademarks of Novell, Inc. Application Notes, IPX/SPX, NetWare Btrieve, NetWare Loadable Module, NetWare Runtime, NetWare SQL, NLM, and XTRIEVE Plus are trademarks of Novell, Inc. NetWire is a registered service mark of Novell, Inc. CompuServe is a registered trademark of CompuServe, Incorporated. OS/2 is a registered trademark of International Business Machines Corporation. **End of BTR61.TXT**